package model.metier;
// Generated 4 mars 2015 13:49:36 by Hibernate Tools 4.3.1


import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Produit generated by hbm2java
 */
@Entity
@Table(name="produit"
    ,catalog="stocks_bdd"
)
public class Produit extends Metier implements java.io.Serializable {


     private Integer id;
     private CategorieProduit categorieProduit;
     private String libelle;
     private Integer quantite;
     private Integer seuilMin;
     private Integer seuilMax;
     private double prix;
     private Set<CommandeClientHasProduit> commandeClientHasProduits = new HashSet(0);
     private Set<CommandeFournisseurHasProduit> commandeFournisseurHasProduits = new HashSet(0);

    public Produit() {
    }

	
    public Produit(CategorieProduit categorieProduit, double prix) {
        this.categorieProduit = categorieProduit;
        this.prix = prix;
    }
    public Produit(CategorieProduit categorieProduit, String libelle, Integer quantite, Integer seuilMin, Integer seuilMax, double prix, Set<CommandeClientHasProduit> commandeClientHasProduits, Set<CommandeFournisseurHasProduit> commandeFournisseurHasProduits) {
       this.categorieProduit = categorieProduit;
       this.libelle = libelle;
       this.quantite = quantite;
       this.seuilMin = seuilMin;
       this.seuilMax = seuilMax;
       this.prix = prix;
       this.commandeClientHasProduits = commandeClientHasProduits;
       this.commandeFournisseurHasProduits = commandeFournisseurHasProduits;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="id", unique=true, nullable=false)
    public Integer getId() {
        return this.id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_categorie_produit", nullable=false)
    public CategorieProduit getCategorieProduit() {
        return this.categorieProduit;
    }
    
    public void setCategorieProduit(CategorieProduit categorieProduit) {
        this.categorieProduit = categorieProduit;
    }

    
    @Column(name="libelle")
    public String getLibelle() {
        return this.libelle;
    }
    
    public void setLibelle(String libelle) {
        this.libelle = libelle;
    }

    
    @Column(name="quantite")
    public Integer getQuantite() {
        return this.quantite;
    }
    
    public void setQuantite(Integer quantite) {
        this.quantite = quantite;
    }

    
    @Column(name="seuil_min")
    public Integer getSeuilMin() {
        return this.seuilMin;
    }
    
    public void setSeuilMin(Integer seuilMin) {
        this.seuilMin = seuilMin;
    }

    
    @Column(name="seuil_max")
    public Integer getSeuilMax() {
        return this.seuilMax;
    }
    
    public void setSeuilMax(Integer seuilMax) {
        this.seuilMax = seuilMax;
    }

    
    @Column(name="prix", nullable=false, precision=22, scale=0)
    public double getPrix() {
        return this.prix;
    }
    
    public void setPrix(double prix) {
        this.prix = prix;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produit")
    public Set<CommandeClientHasProduit> getCommandeClientHasProduits() {
        return this.commandeClientHasProduits;
    }
    
    public void setCommandeClientHasProduits(Set<CommandeClientHasProduit> commandeClientHasProduits) {
        this.commandeClientHasProduits = commandeClientHasProduits;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produit")
    public Set<CommandeFournisseurHasProduit> getCommandeFournisseurHasProduits() {
        return this.commandeFournisseurHasProduits;
    }
    
    public void setCommandeFournisseurHasProduits(Set<CommandeFournisseurHasProduit> commandeFournisseurHasProduits) {
        this.commandeFournisseurHasProduits = commandeFournisseurHasProduits;
    }




}


